const { WebSocketServer } = require("ws"); // npm i ws

// 1. 搭建 Web Socket 服务器
const wss = new WebSocketServer({ port: 3000 });

// 2. 绑定客户端连接事件：一旦客户端连接上ws服务器，connection事件就会触发
wss.on("connection", function (socket) {
  // socket 就是当前连接上的客户端对象
  // 3. 接受客户端的消息
  socket.on("message", function (data) {
    console.log(data.toString());

    // 4. 将消息转发给别人
    // 4.1 转发给自己
    // socket.send(data.toString());
    // 4.2 转发给所有人
    // wss.clients // 连接上ws服务器的所有客户端对象
    // wss.clients.forEach((socket) => {
    //   socket.send(data.toString());
    // });
    // 4.3 转发给除自己以外的所有人
    wss.clients.forEach((client) => {
      if (client === socket) return;
      client.send(data.toString());
    });
  });
});
